<?php

/**
 * 访问ip model操作
 * @author  xiaobai
 * @date    2019-05-17
 */

namespace app\common\model;

use app\common\model\Common;

class Ip extends Common
{
    protected $pk = 'id';

    /**
     * 保存访问IP数据
     */
    public function saveVisitIpData()
    {
        $ip      = get_client_ip();
        $ip_info = $this->getIpData($ip);
        if (empty($ip_info) && $ip != '127.0.0.1') {
            $data = ['ip'=>$ip];
            @$this->save($data);
        }
    }

    /**
     * 根据ip获取对于的信息
     * @param string $ip    IP地址
     * @return array|mixed|null|\PDOStatement|string|\think\Model
     */
    public function getIpData($ip = '')
    {
        $key  = 'getIpData_' . md5($ip);
        $info = cache($key);
        if (empty($info)) {
            $info = $this->where(['ip'=>$ip])->find();
            if (!empty($info)) {
                $info = $info->toArray();
                cache($key, $info);
            } else {
                $info = [];
            }
        }

        return $info;
    }

}
